1. Field of the Invention
The present invention relates to an information processing device and an information processing method. In particular, the present invention relates to an information processing device and an information processing method to improve a concentration of access to a server in a method in which server resources are used by clients like in a client/server system.
2. Description of the Related Art
With widespread use of the Internet in recent years, various kinds of ASP (Application Service Provider) services are provided on the Internet. An ASP service provides applications to customers via the Internet. ASP service providers provide services in a form in which a system providing ASP services is shared by end users. Accordingly, ASP services have advantages that end users can use services at relatively low cost and there is no need of server management work on the end user side.
Since ASP services are provided on the Internet, various users use ASP services. For example, employees of some enterprise use an ASP service to perform business operations and consumers use an ASP service for individuals' hobbies. Such various kinds of users use of ASP services signifies that “time and purpose of users using ASP services vary from user to user.”
As used herein, the phrase “time and purpose of users using ASP services vary from user to user” means that, if an ASP service stops, business operations of users may stop, causing problems to many users.
It often happens that, when many people in one enterprise A want to access and use an ASP service at the same time, a person in another enterprise B may want to use the service for an important business operation. Such a case may cause a situation in which access for Enterprise B cannot be processed due to the increased processing load caused by user access from Enterprise A. Accordingly, the user of Enterprise B would run into trouble.
Thus, “not stopping the service” as well as “providing services without concentrating on specific users” are emphasized in ASP services to prevent the above situation from occurring.
However, phenomena such as a concentration or a rapid increase in access can occur at any time in ASP services. For example, access may be concentrated on a server at a specific time (for example, access is concentrated in the early-morning on Monday). Also, access may increases rapidly beyond expectations for some reason (for example, access to weather news and traffic information sites increases rapidly when abnormal weather conditions occur such as a typhoon). With such a concentration or a rapid increase in access, the server may stop in a worst-case scenario due to an increased load on the server.
With the advance of technology, such as Web services, in recent years, the interfaces (API) of services on the Internet are publicly opened to any client application. Publicly opening the interface means that any client application can access servers providing services on the Internet in various forms. That is, once the interface of a service is publicly opened on the Internet, any one can develop a client application to access the server without concern by the ASP operator. Such a case is envisaged where accesses from the developed client application is performed continuously without a time interval due to user's thinking in such as Web browser access. Thus, it is considered that a rapid increase in access beyond expectations can be expected for such server, which is not caused by intentional attacks.
In order to cope with such situations, each ASP service provider takes measures against loads caused by a rapid increase in access to a server. Here, a rapid increase in access means that requests sent from clients to the server increase rapidly. If requests to the server increase (concentrate), a state of heavy processing load occurs in the server. Measures against loads caused by a rapid increase in access to a server are frequently taken by ASP services from the viewpoint of “How to narrow down requests to be processed”. Measures against loads caused by a rapid increase in access generally taken by ASP services are shown below:
Measure 1: Narrow down the number of accessible users by user authentication or the like.
Measure 2: Increase the number of servers as shown in FIG. 13 to distribute requests to be processed by each server.
Measure 3: Restrict the number of sessions for each server to narrow down the number of sessions to be processed at a time.
Many ASP services take all three measures. That is, Measure 1 narrows down the number of accessible users to restrict the absolute quantity of requests that can be sent to the server. Next, Measure 2 assures processing capacities of servers to a certain level. Furthermore, Measure 3 further narrows down the number of requests as a countermeasure when as many requests as to require processing capacities exceeding server resources prepared by measure 2 are sent from clients.
FIG. 14 and FIG. 15 are diagrams to illustrate measure 3.
A case in which a plurality of servers is provided and requests sent from clients are distributed to each server for load sharing, as shown in FIG. 14, is considered. FIG. 14 shows a state after requests further increase from a load state of in FIG. 13. In such a case, though loads are shared, the number of requests to be processed by each server increases in the end and a processing load of each server increases.
FIG. 15 shows internal processing of individual servers. In FIG. 15, a request receiving unit 1300 receives requests from clients, but the request receiving unit 1300 returns errors to clients of requests exceeding the preset number of sessions. That is, requests exceeding the number of sessions are not sent to a service providing unit 1301 and no internal processing (processing by the service providing unit) is performed for such requests. Thus, the overall processing load of the server can be reduced by restricting the number of sessions.
Servers providing ASP services take measures, as describe above, to respond to loads generated by a rapid increase in access.
Japanese Patent Laid-Open No. 2002-189650 proposes a processing technology to improve concentration of access on a server in a client/server system. According to the invention described in Japanese Patent Laid-Open No. 2002-189650, when a server receives a service start request from a client, the server issues a numbered ticket and returns the ticket to the client. The numbered ticket specifies the transmission period when the request should be sent next time and the client resends the request in the period specified by the numbered ticket.
According to Japanese Patent Laid-Open No. 2002-189650, the server specifies the time when the server is accessible from the client and the client sends requests at the specified time. That is, concentration of requests on the server is avoided by controlling the number of requests to be processed by the server in a certain period of time.
However, according to the conventional technology in which the above Measures 1 to 3 are taken, requests from the client that started a session are supposed to be processed by the server (the service providing unit). However, if the one client that started the session continuously sends requests intensively during the same session, a problem arises that requests are concentrated on each server and processing loads of the servers increase rapidly.
Referring to FIGS. 16 and 17, a situation will be described in which requests are concentrated on each server and processing loads of the servers increase rapidly when the conventional technology, in which the above Measures 1 to 3, are taken. It is assumed that a request sent from some client A is received by the server in a system in which the above Measures 1 to 3 are taken. Once a request is received by the server, a session is started and requests sent from the client A are received until the session ends. Therefore, if requests are continuously and intensively sent from a plurality of clients once sessions are started, as shown in FIG. 16, each server will process all requests, as shown in FIG. 17.
In such a case, due to the restriction of the number of sessions by Measure 3, the server may not be able to respond to requests from other client applications attempting to start a new session. That is, though services are widely provided to users on the Internet, services cannot be provided to all users at a certain service level. For example, some users may not be able to use services at all.
To avoid concentration of requests on the server by using the technology disclosed by Japanese Patent Laid-Open No. 2002-189650, a special function to understand distributed numbered tickets is needed. However, client applications using general-purpose Web browsers and Web services do not necessarily implement a function to understand numbered tickets.
Therefore, a system providing an ASP service is demanded to take measures for tasks shown below:
(Task 1) Cope with situations in which services cannot be provided to all clients (users) at a certain service level due to concentration of requests from a client who once started a session.
(Task 2) Cope with situations in which special processing (for example, a function like that of Japanese Patent Laid-Open No. 2002-189650) is not implemented on the client side using general-purpose Web browser and Web service.